-
Notifications
You must be signed in to change notification settings - Fork 11.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[5.3] Added support for PhpRedis #14850
Conversation
Doesn't the redis php library already use that extention if it's present? |
Predis doesn't fallback to PhpRedis. |
Oh. This was a lot more involved than I thought. |
Why do we need two facades? |
What I meant by that is, that we need to make sure that Redis facade is working when using PhpRedis. |
Looks like a decent start and the performance gains would probably be nice for people who use Redis heavily. |
Why not contribute this driver to the other project so everyone benefits? |
@taylorotwell Great, I'll test, improve and finish this up today. @GrahamCampbell: Other project? |
The PHP library we're using which already supports one of the native redis extensions. |
@GrahamCampbell Do you have a link for more information on that? |
Also, right at the start of their readme:
:P |
I've added separate The I've pointed the core alias for |
To test/use this:
|
Please rebase. :) |
Without merge commits please. |
911f8fb
to
4359ffe
Compare
* Add missing methods * fix docblock
Export phpunit.xml.dist instead of phpunit.xml.
Update the author email address to taylor@laravel.com instead of gmail.
…led to add view namespace (laravel#14817)
* Add withoutTrashed method to SoftDeletingScope * Apply StyleCI patch
* Change read to timestamp from boolean * Use timestamps not datetime * Dont use carbon, instead use freshTimstamp() * Use read_at not read
8ee8052
to
6cdef4b
Compare
@GrahamCampbell I messed up the branch and reopened another PR. |
Followup from laravel/docs#2500 to add PhpRedis support to Laravel, because it's significatly faster than Predis.
This is a proof of concept. Feedback/suggestions are greatly appreciated.
Illuminate\Redis\Database
is now an abstract class.PredisDatabase
andPhpRedisDatabase
were introduced, extendingIlluminate\Redis\Database
Illuminate\Contracts\Redis\Database
instead ofIlluminate\Redis\Database
in most places.Illuminate/Cache/RedisStore
andIlluminate/Cache/Repository
now check key existence usingnull
orfalse
.database.redis.client
is set tophpredis
.Redis
andRedisCluster
parameters.A few things are still unfinished:
Redis
Facade when using PhpRedisredis
insrc/Illuminate/Foundation/Application.php